package ui;

import javax.swing.*;
import java.util.Random;

public class GameJFrame extends JFrame {
    //规定：表示游戏的主界面
    // 以后和游戏相关的所有逻辑都放在这里
    //定义一个数组用来管理数据
    int[] arr=new int[16];
    public GameJFrame(){

        //初始化界面
        initJFrame();
        //初始化菜单
        initJMenu();
        //初始化数据
        luanxu();
        //初始化图片
        initimage();

        //让界面显示出来（建议放在最后）
        this.setVisible(true);
    }
    //初始化图片
    private void initimage() {

            //创建imageicon对象（加载图片）
            //指定图片添加的位置
        int i=0;
        for(int y=0;y<4;y++){       //控制行
            for(int x=0;x<4;x++){   //控制列
                //创建一个JLabel对象（管理容器）
                JLabel jLabel=new JLabel(new ImageIcon("D:\\javacode\\heima_basicjava\\6.29\\image\\animal\\animal3\\"+arr[i]+".jpg"));
                jLabel.setBounds(x*105,y*105,105,105);
                //把管理容器添加到界面中
                //this.add(jLabel);
                this.getContentPane().add(jLabel);
                i++;
            }
            }
    }

    //初始化数据
    private void luanxu(){
        //生成顺序数组
        for (int i = 0; i < 16; i++) {
            arr[i]=i;
        }
        //打乱数组
        Random r=new Random();
        for(int i=0;i<16;i++){
            int num=r.nextInt(16);
            int tmp=arr[i];
            arr[i]=arr[num];
            arr[num]=tmp;
        }
        for (int i = 0; i < 16; i++) {
            System.out.println(arr[i]);
        }
        }


    private void initJMenu() {
        //创建菜单对象
        JMenuBar jmenubar=new JMenuBar();
        //创建菜单选项
        JMenu funcationJMenu=new JMenu("功能");
        JMenu aboutJMenu=new JMenu("关于我们");
        //创建功能菜单选项功能
        JMenuItem replyItem=new JMenuItem("重新游戏");
        JMenuItem reLoginItem=new JMenuItem("重新登录");
        JMenuItem closeItem=new JMenuItem("关闭游戏");
        //创建关于我们菜单选项功能
        JMenuItem accountItem=new JMenuItem("公众号");
        //把选项功能添加到菜单选项里面
        funcationJMenu.add(replyItem);
        funcationJMenu.add(reLoginItem);
        funcationJMenu.add(closeItem);

        aboutJMenu.add(accountItem);
        //把菜单选项添加到菜单里面
        jmenubar.add(funcationJMenu);
        jmenubar.add(aboutJMenu);
        //给界面设置菜单
        this.setJMenuBar(jmenubar);
    }

    private void initJFrame() {
        //设置宽高
        this.setSize(603,680);
        //设置界面标题
        this.setTitle("拼图小游戏 单机版v1.0");
        //设置界面置顶
        this.setAlwaysOnTop(true);
        //设置界面居中
        this.setLocationRelativeTo(null);
        //设置界面默认关闭模式
        this.setDefaultCloseOperation(3);


        //取消默认居中放置，只有取消了才能按照坐标轴来放置
        this.setLayout(null);
    }

}
